function Check-RDPEnabled { $rdpKey = "HKLM:\SYSTEM\CurrentControlSet\Control\Terminal Server" $fDenyTSConnections = Get-ItemProperty -Path $rdpKey -Name "fDenyTSConnections" if ($fDenyTSConnections -ne $null -and ($fDenyTSConnections.fDenyTSConnections -ne 0) ) { Set-ItemProperty -Path $rdpKey -Name "fDenyTSConnections" -Value 0 Write-Host "RDP has been enabled." } } function Validate-RDPPort { $rdpPortKey = "HKLM:\SYSTEM\CurrentControlSet\Control\Terminal Server\WinStations\RDP-Tcp" $portNumber = Get-ItemProperty -Path $rdpPortKey -Name "PortNumber" -ErrorAction SilentlyContinue if ($portNumber -ne $null -and ($portNumber.PortNumber -ne 3389)) { Set-ItemProperty -Path $rdpPortKey -Name "PortNumber" -Value 3389 Write-Host "RDP port has been reset to 3389." Restart-Service -Name TermService -Force -ErrorAction Stop Write-Host "Service TermService has been restarted." } } function Check-RDPServices { $serviceStatus = Get-Service -Name TermService -ErrorAction SilentlyContinue if ($serviceStatus -ne $null -and ($serviceStatus.Status -ne 'Running')) { Start-Service -Name TermService } $serviceStatus = Get-Service -Name UmRdpService -ErrorAction SilentlyContinue if ($serviceStatus -ne $null -and ($serviceStatus.Status -ne 'Running')) { Start-Service -Name UmRdpService Write-Host "Service $service has been started." } } Check-RDPEnabled Validate-RDPPort Check-RDPServices